<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /*
          对于这种带小数的运算 -> 0.1 +0.2 0.3
          为了避免精度丢失问题，我们会采用乘除
          0 0.2 0.4 0.6 0.8 1
          */
      //   for (var i = 0; i < 6; i++) {
      //     console.log(i / 5);
      //   }
      //--------
      /*
      循环输出1～100里面的奇数
      方法一：
      奇数的对立面->偶数 对2取余为0
      方法二：
      在自然数1～100中，前后两个奇数的差永远是2
      */
      //   for (var i = 1; i <= 100; i++) {
      //     if (i % 2 != 0) {
      //       console.log(i);
      //     }
      //   }
      //   for (var i = 1; i <= 100; i = i + 2) {
      //     console.log(i);
      //   }
      /* 分数数列求和
          2/1 3/2 5/3 8/5 13/8 21/13
          2  3  5 8 13 21
          -  -  - -  - -
          1  2  3 5  8 13
          下一项分子等于上一项分子+分母
          下一项的分母 等于上一项的分子
      */
      //   var sum = 0; //储存和的变量
      //   var fz = 2; //分子 第一项分子为2
      //   var fm = 1; //分母 第一项分母为1
      //   for (var i = 1; i <= 20; i++) {
      //     var res = fz / fm; //数列的每一项
      //     var c = fz; //暂时把分子存起来
      //     fz = c + fm; //下一项的分子等于上一项分子+分母
      //     fm = c; //下一项的分母等于上一项的分子
      //     // sum = sum + res;
      //     sum += res;
      //   }
      //   console.log(sum);//32.66026079864164
      //-----------
      /*
      过桥问题
      每过一次桥 怎么去捞他的钱？
      钱> 30000:  -3000  money=money-3000 -> money-=3000
      钱<= 3000 :  收10% money=money*(1-10%)->money*=0.9
      */
      //   var money = 33000; //没过桥的钱数
      //   var count = 0; //过桥次数
      //   while (money >= 100) {
      //     if (money > 30000) {
      //       money -= 3000;
      //       count++;
      //     } else {
      //       money *= 0.9;
      //       count++;
      //     }
      //   }
      //   console.log(count);//56
      //----------
      /*
      被3整除问题
      输出3至这个数之间所有的整数
      for 3～用户输入的数
      if 条件判断
      条件？ 1%3==0 整除

      */
      //   var num = parseInt(prompt("请输入一个大于三的整数"));
      //   for (var i = 3; i <= num; i++) {
      //     if (i % 3 == 0) {
      //       console.log(i);
      //     }
      //   }
      //-------------
      /*
      存钱问题
      1000 1% 30？
      1%利息？ 循环体中: money=money*(1+0.01)
      循环条件语句  30次

      */
      //   var money = 1000;
      //   for (var i = 1; i <= 30; i++) {
      //     //    money=money*(1+0.01)
      //     money *= 1.01;
      //   }
      //   console.log(money);//1347.8489153329058
      //---------

      /*
        水仙花数
        a^3+b^3+c^3=abc
        */
      //   var a, b, c;
      //   for (i = 100; i < 1000; i++) {
      //     a = parseInt(i % 10); //个位数
      //     b = parseInt((i / 10) % 10); //十位数
      //     c = parseInt(i / 100); //百位数
      //     if (a ** 3 + b ** 3 + c ** 3 == i) {
      //       console.log(i);//153 370 371 407
      //     }
      //   }
      //-----
      /*
      100元  20 10 5  2  1
      30张
      */
      //   var a, //1元的张数
      //     b, //2元的张数
      //     c, //5元
      //     d, //10元
      //     e; //20
      //   var num = 0; //换法
      //   for (a = 0; a <= 100; a++) {
      //     for (b = 0; b <= (100 - a) / 2; b++) {
      //       for (c = 0; c <= (100 - a - 2 * b) / 5; c++) {
      //         for (d = 0; d <= (100 - a - 2 * b - 5 * c) / 10; d++) {
      //           for (e = 0; e <= (100 - a - 2 * b - 5 * c - 10 * d) / 20; e++) {
      //             if (
      //               a + b + c + d + e == 30 &&
      //               a + 2 * b + 5 * c + 10 * d + 20 * e == 100
      //             ) {
      //               num++;
      //               console.log(a, b, c, d, e);
      //             }
      //           }
      //         }
      //       }
      //     }
      //   }
      //   console.log(num); //96
    </script>
  </body>
</html>
